package com.spring.rechargeapi.web.dao;

import java.util.HashMap;
import java.util.List;

import com.spring.rechargeapi.web.model.*;
import com.spring.rechargeapi.web.model.Package;
import com.spring.rechargeapi.web.requestModel.ApplicationUpdate;

import java.math.BigDecimal;


public interface RechargeApiMapper {
	List<RechargeRule> rechargeRule();
	List<HashMap<String,Object>> getRechargeRatio(HashMap<String,Object> hm);
	
	
	BigDecimal ApplyConditionCheckCondition(String rechargecard_level_code);
	int applyCard(HashMap hm);
	List<Application> getApplicationList(String c_user_id);
	int updateApplicationCheckId(String recharge_application_id);
	int updateApplication(HashMap hm);
	int cancelApplication(HashMap hm);
	List<Card> getCardList(HashMap hm);
	
	
	BigDecimal checkOutCheckBalance(String rechargecard_id);
	int checkOutUpdateBalance(HashMap hm);
	int checkOutInsertJournalAccount(HashMap hm);
	int checkOutInsertConsumeHis(HashMap hm);
	
	BigDecimal checkOutCheckNeedPay(HashMap hm);
	int checkOutUpdateConsumeHis(HashMap hm); 
	int checkOutInsertConsumePayHis(HashMap hm);
	
	List<RechargeBill> getRechargeBillList(HashMap hm);
	List<RechargeHistory> getRechargeHistory(HashMap hm);
	List<Package> getPackageList(HashMap hm);
	
	int buyPackageCheckCardId(HashMap hm);
	BigDecimal buyPackageCheckBalance(HashMap hm);
	int buyPackageUpdateBalance(HashMap hm);
	int buyPackageInsertConsumeHis(HashMap hm);
	int buyPackageInsertCardDetail(HashMap hm);
	int buyPackageInsertCardCourseDetail(HashMap hm);
	List<CardDetail> getCardDetailList(HashMap hm);
	
	List<ApplyCondition> getApplyCondition();
	
	
	int applyCardBackground(HashMap hm); 
	
	
	int checkApplicationID(HashMap hm);
	HashMap getApplicationContent(HashMap hm);
	
	String getRechargeCount(HashMap hm);
	
	String[] getOrderProductKidsParkID(HashMap hm);
	int checkCardNumber(HashMap hm);
	int insertRechargecard(HashMap hm);
	int rewriteApplication(HashMap hm);
	
	List<ApplicationB> getApplicationByID(HashMap hm);
	int updateApplication2(ApplicationUpdate application);

	BigDecimal getRechargeContractAmount(String contractID);
	BigDecimal getTotalRechargeAmount(String contractID);
}
